#app {

    // 主体区域 Main container
    .main-container {
        height: calc(100% - 48px);
        transition: margin-left .28s;
        margin-left: $sideBarWidth;
        position: relative;
        padding-top: 120px;
    }

    // 侧边栏 Sidebar container
    .sidebar-container {
        transition: width 0.28s;
        width: $sideBarWidth !important;
        background-color: $menuBg;
        height: calc(100% - 60px);
        position: fixed;
        font-size: 0px;
        top: 60px;
        bottom: 0;
        left: 0;
        z-index: 1001;
        overflow: hidden;
        box-shadow: -1px 5px 5px #e0e0e0, inset 0px 15px 10px -17px #e0e0e0;

        //reset element-ui css
        .horizontal-collapse-transition {
            transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
        }

        .scrollbar-wrapper {
            overflow-x: hidden !important;
        }

        .el-scrollbar__bar.is-vertical {
            right: 0px;
        }

        .el-scrollbar {
            height: calc(100% - 100px)!important;
        }

        &.has-logo {
            .el-scrollbar {
                height: calc(100% - 50px);
            }
        }

        .menu-wrapper .router-link-active .el-menu-item {
            background: $menuText!important;
            color: $menuActiveText!important;
        }
        .menu-wrapper .el-menu-item.is-active {
            background: $menuText!important;
            color: $menuActiveText!important;
        }
        .menu-wrapper .router-link-active .el-menu-item svg {
            color: $menuActiveText!important;
        }

        .menu-wrapper .router-link-active.is-opened .el-menu-item {
            background: $menuActiveText!important;
            color: $menuText!important;
        }

        .is-horizontal {
            display: none;
        }
        .el-submenu .el-menu .el-menu-item {
            padding-left: 52px!important;
        }

        a {
            display: inline-block;
            width: 100%;
            overflow: hidden;
        }

        .svg-icon {
            margin-right: 16px;
        }

        .el-menu {
            border: none;
            height: 100%;
            width: 100% !important;
        }

        // menu hover
        .submenu-title-noDropdown,
        .el-submenu__title {
            &:hover {
                background-color: $menuHover !important;
            }
        }

        .is-active > .el-submenu__title {
            color: $menuText !important;
        }

        & .nest-menu .el-submenu > .el-submenu__title,
        & .el-submenu .el-menu-item {
            min-width: $sideBarWidth !important;
            background-color: $subMenuBg !important;

            &:hover {
                background-color: $subMenuHover !important;
            }
        }
    }

    .hideSidebar {
        .sidebar-container {
            width: 54px !important;
        }

        .main-container {
            margin-left: 54px;
        }

        .svg-icon {
            //margin-right: 0px;
        }

        .submenu-title-noDropdown {
            padding: 0 !important;
            position: relative;

            .el-tooltip {
                padding: 0 !important;

                .svg-icon {
                    margin-left: 20px;
                }
            }
        }

        .el-submenu {
            overflow: hidden;

            & > .el-submenu__title {
                padding: 0 !important;

                .svg-icon {
                    margin-left: 20px;
                }

                .el-submenu__icon-arrow {
                    display: none;
                }
            }
        }

        a {
            .svg-icon {
                margin-left: 20px;
            }
            .system-menu-title {
                display: none;
            }
        }

        .el-menu--collapse {
            .el-submenu {
                & > .el-submenu__title {
                    & > span {
                        height: 0;
                        width: 0;
                        overflow: hidden;
                        visibility: hidden;
                        display: inline-block;
                    }
                }
            }
        }
    }

    .el-menu--collapse .el-menu .el-submenu {
        min-width: $sideBarWidth !important;
    }

    // 适配移动端, Mobile responsive
    .mobile {
        .main-container {
            margin-left: 0px;
        }

        .sidebar-container {
            transition: transform .28s;
            width: $sideBarWidth !important;
        }

        &.hideSidebar {
            .sidebar-container {
                pointer-events: none;
                transition-duration: 0.3s;
                transform: translate3d(-$sideBarWidth, 0, 0);
            }
        }
    }

    .withoutAnimation {

        .main-container,
        .sidebar-container {
            transition: none;
        }
    }
}

// when menu collapsed
.el-menu--vertical {
    & > .el-menu {
        .svg-icon {
            margin-right: 16px;
        }
    }

    .nest-menu .el-submenu > .el-submenu__title,
    .el-menu-item {
        &:hover {
            // you can use $subMenuHover
            background-color: $menuHover !important;
        }
    }

    // the scroll bar appears when the subMenu is too long
    > .el-menu--popup {
        max-height: 100vh;
        overflow-y: auto;

        &::-webkit-scrollbar-track-piece {
            background: #d3dce6;
        }

        &::-webkit-scrollbar {
            width: 6px;
        }

        &::-webkit-scrollbar-thumb {
            background: #99a9bf;
            border-radius: 20px;
        }
    }
}
